package com.yc.cloud.socket.service;

import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;

import javax.websocket.*;

/**
 * @author 杨智杰
 * @since 2021/9/24 13:07
 */
public interface SocketClient {

    /**
     * 开启链接后执行的方法
     */
    void onOpen(ServerHandshake serverHandshake);

    /**
     * 接收到信息后执行的方法
     */
    void onMessage(String s);

    /**
     * 链接关闭后执行的方法
     */
    void onClose(int i, String s, boolean b);

    /**
     * 链接出错后执行的方法
     */
    void onError(Exception e);

    /**
     * 向服务端发送消息
     *
     * @param data
     */
    void sendMessage(Object data);

    /**
     * 向服务端发送消息
     *
     * @param client
     * @param data
     */
    void sendMessage(WebSocketClient client, Object data);
}
